From 38d46aacae46caa60ebd72b0f1ff852ee3b71e79 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Fri, 12 Dec 2014 01:40:55 +0100 Subject: [PATCH] mir: use old scrolling system if we get simple integer values --- gdk/mir/gdkmireventsource.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/gdk/mir/gdkmireventsource.c b/gdk/mir/gdkmireventsource.c index caa07b1a5e..8a1652842f 100644 --- a/gdk/mir/gdkmireventsource.c +++ b/gdk/mir/gdkmireventsource.c @@ -167,11 +167,23 @@ generate_scroll_event (GdkWindow *window, gdouble x, gdouble y, gdouble delta_x, event->scroll.x = x; event->scroll.y = y; event->scroll.state = state; - event->scroll.direction = GDK_SCROLL_SMOOTH; - event->scroll.delta_x = -delta_x; - event->scroll.delta_y = -delta_y; event->scroll.time = event_time; + if (ABS (delta_x) == 1 && delta_y == 0) + { + event->scroll.direction = (delta_x < 0) ? GDK_SCROLL_LEFT : GDK_SCROLL_RIGHT; + } + else if (ABS (delta_y) == 1 && delta_x == 0) + { + event->scroll.direction = (delta_y < 0) ? GDK_SCROLL_DOWN : GDK_SCROLL_UP; + } + else + { + event->scroll.direction = GDK_SCROLL_SMOOTH; + event->scroll.delta_x = -delta_x; + event->scroll.delta_y = -delta_y; + } + send_event (window, get_pointer (window), event); } -- 2.30.2